
IBM DataInterchange support for the Health Insurance Portability and Accountability Act 
of 1996, or commonly known as HIPAA, consists of two parts.  The first part is the 
availability of an Import "standards" file.  This "standards" file includes the specified 
subsets of each ASC ANSI X12 transaction currently approved by the US Department of Health 
and Human Services to comply with HIPAA.  Within each of these transactions, multiple loop 
definitions, segment usage requirements, and subsets of required code lists exist to match  
implementation guides approved to meet the HIPAA Legislation requirements.  This HIPAA 
"standards" file should be used when mapping the customers data transformation map. The 
second part includes the use of "validation maps". These maps have been created to validate 
the segment usages per loop, element level usages, inter-segment relations, and financial 
balancing on receive transactions.  These maps are intended to be used in addition to the 
data transformation maps created by the customer for inbound processing.  Using the HIPAA 
"standard", in conjunction with the validation map, will provide the customer with SNIP 
Level 5 compliance as listed in the Strategic National Implementation Process (SNIP) Testing 
and Certification White Paper.

For inbound processing, the IBM DataInterchange validation maps use the DIMAPCHAIN and 
DIMAPSWITCH functions and the use of global variables.  The README.TXT file lists the 
mapping literals for each transaction that should be mapped on the literal line in the 
first element of the first segment.

For outbound processing, it is suggested that the appropriate data checks be included 
in the appropriate application programs before the data enters IBM DataInterchange for 
translation.  In addition, the use of &IFNODATA mapping keyword can be used during data 
transformation.


270 Health Care Eligibility Benefit Inquiry (Receive)

&IFNOVAR &SET GVALMAP 0
&IF(GVALMAP EQ 0) &SET GVALCHAINMAP270 <application sender ID to return to this translation map>
&IF(GVALMAP EQ 0) &SET DIMAPSWITCH VALMAP270
&IF(GVALMAP EQ 1) &SET GVALMAP 0
&IF(GREF EQ 1 AND GREF02 EQ 0) &ERR(1,,1,'REF02 Required but missing')
&IF(GIII EQ 1 AND GIII01 EQ 0) &ERR(1,,1,'III01 Required but missing')
&IF(GIII EQ 1 AND GIII02 EQ 0) &ERR(1,,1,'III02 Required but missing')
&IF(GREFA EQ 1 AND GREF02A EQ 0) &ERR(1,,1,'REF02 Required but missing')
&IF(GHL23CK EQ 1 AND GEQ EQ 0) &ERR(1,,1,'EQ Segment required but missing')


271 Health Care Eligibility Benefit Response (Receive)

&IFNOVAR &SET GVALMAP 0
&IF(GVALMAP EQ 0) &SET GVALCHAINMAP271 <application sender ID to return to this translation map>
&IF(GVALMAP EQ 0) &SET DIMAPSWITCH VALMAP271
&IF(GVALMAP EQ 1) &SET GVALMAP 0
&IF(GNM109 EQ 0) &ERR(1,,1,'NM109 Required but missing')
&IF(GNM108 EQ 0) &ERR(1,,1,'NM108 Required but missing')
&IF(GREF EQ 1 AND GREF02 EQ 0) &ERR(1,,1,'REF02 Required but missing')
&IF(GAAA EQ 1 AND GAAA03 EQ 0) &ERR(1,,1,'AAA03 Required but missing')
&IF(GAAA EQ 1 AND GAAA04 EQ 0) &ERR(1,,1,'AAA04 Required but missing')
&IF(GNM108A EQ 0) &ERR(1,,1,'NM108 Required but missing')
&IF(GNM109A EQ 0) &ERR(1,,1,'NM109 Required but missing')
&IF(GREFA EQ 1 AND GREF02A EQ 0) &ERR(1,,1,'REF02 Required but missing')
&IF(GAAAA EQ 1 AND GAAA03A EQ 0) &ERR(1,,1,'AAA03 Required but missing')
&IF(GAAAA EQ 1 AND GAAA04A EQ 0) &ERR(1,,1,'AAA04 Required but missing')
&IF(GAAAB EQ 1 AND GAAA04B EQ 0) &ERR(1,,1,'AAA04 Required but missing')
&IF(GAAAB EQ 1 AND GAAA03B EQ 0) &ERR(1,,1,'AAA03 Required but missing')
&IF(GREFB EQ 1 AND GREF02B EQ 0) &ERR(1,,1,'REF02 Required but missing')
&IF(GAAA2B EQ 1 AND GAAA204B EQ 0) &ERR(1,,1,'AAA04 Required but missing')
&IF(GAAA2B EQ 1 AND GAAA203B EQ 0) &ERR(1,,1,'AAA03 Required but missing')
&IF(GREF2B EQ 1 AND GREF202B EQ 0) &ERR(1,,1,'REF02 Required but missing')
&IF(GAAAC EQ 1 AND GAAA04C EQ 0) &ERR(1,,1,'AAA04 Required but missing')
&IF(GAAAC EQ 1 AND GAAA03C EQ 0) &ERR(1,,1,'AAA03 Required but missing')
&IF(GREFC EQ 1 AND GREF02C EQ 0) &ERR(1,,1,'REF02 Required but missing')
&IF(GAAA2C EQ 1 AND GAAA204C EQ 0) &ERR(1,,1,'AAA04 Required but missing')
&IF(GAAA2C EQ 1 AND GAAA203C EQ 0) &ERR(1,,1,'AAA03 Required but missing')
&IF(GREF2C EQ 1 AND GREF202C EQ 0) &ERR(1,,1,'REF02 Required but missing')


276 Health Care Claim Status Request (Receive)

&IFNOVAR &SET GVALMAP 0
&IF(GVALMAP EQ 0) &SET GVALCHAINMAP276 <application sender ID to return to this translation map>
&IF(GVALMAP EQ 0) &SET DIMAPSWITCH VALMAP276
&IF(GVALMAP EQ 1) &SET GVALMAP 0
&IF(GDMG01 EQ 0 AND GDMG EQ 1) &ERR(1,,1,'DMG01 Required but missing')
&IF(GDMG02 EQ 0 AND GDMG EQ 1) &ERR(1,,1,'DMG02 Required but missing')
&IF(GDMG03 EQ 0 AND GDMG EQ 1) &ERR(1,,1,'DMG03 Required but missing')
&IF(GNM103 EQ 0 AND GNM1LOOP EQ 1) &ERR(1,,1,'NM103 Required but missing')
&IF(GNM108 EQ 0 AND GNM1LOOP EQ 1) &ERR(1,,1,'NM108 Required but missing')
&IF(GNM109 EQ 0 AND GNM1LOOP EQ 1) &ERR(1,,1,'NM109 Required but missing')
&IF(GREFA02 EQ 0 AND GREFA EQ 1) &ERR(1,,1,'REF02 Required but missing')
&IF(GREFB02 EQ 0 AND GREFB EQ 1) &ERR(1,,1,'REF02 Required but missing')
&IF(GREFC02 EQ 0 AND GREFC EQ 1) &ERR(1,,1,'REF02 Required but missing')
&IF(GREFD02 EQ 0 AND GREFD EQ 1) &ERR(1,,1,'REF02 Required but missing')
&IF(GHL22TRN EQ 0) &ERR(1,,1,'TRN Segment required but missing')
&IF(GHL22DTP EQ 0) &ERR(1,,1,'DTP Segment required but missing')
&IF(GHL23DMG EQ 0 AND GHL23CK EQ 1) &ERR(1,,1,'DMG Segment required but missing')
&IF(GHL23TRN EQ 0 AND GHL23CK EQ 1) &ERR(1,,1,'TRN Segment required but missing')


277 Health Care Claim Status Response (Receive)

&IFNOVAR &SET GVALMAP 0
&IF(GVALMAP EQ 0) &SET GVALCHAINMAP277 <application sender ID to return to this translation map>
&IF(GVALMAP EQ 0) &SET DIMAPSWITCH VALMAP277
&IF(GVALMAP EQ 1) &SET GVALMAP 0
&IF(GHL22TRN EQ 0 AND GHL22CK EQ 1) &ERR(1,,1,'TRN Segment required but missing')
&IF(GHL23STC EQ 0 AND GHL22CK EQ 1) &ERR(1,,1,'STC Segment required but missing')
&IF(GHL23DMG EQ 0 AND GHL22CK EQ 1) &ERR(1,,1,'DMG Segment required but missing')
&IF(GSTC02 EQ 0 AND GSTC EQ 1) &ERR(1,,1,'STC02 Required but missing')
&IF(GSTC04 EQ 0 AND GSTC EQ 1) &ERR(1,,1,'STC04 Required but missing')
&IF(GSTC05 EQ 0 AND GSTC EQ 1) &ERR(1,,1,'STC05 Required but missing')
&IF(GSVC03 EQ 0 AND GSVC EQ 1) &ERR(1,,1,'SVC03 Required but missing')
&IF(GDMG01 EQ 0 AND GDMG EQ 1) &ERR(1,,1,'DMG01 Required but missing')
&IF(GDMG02 EQ 0 AND GDMG EQ 1) &ERR(1,,1,'DMG02 Required but missing')
&IF(GDMG03 EQ 0 AND GDMG EQ 1) &ERR(1,,1,'DMG03 Required but missing')
&IF(GNM103 EQ 0 AND GNM1LOOP EQ 1) &ERR(1,,1,'NM103 Required but missing')
&IF(GNM108 EQ 0 AND GNM1LOOP EQ 1) &ERR(1,,1,'NM108 Required but missing')
&IF(GNM109 EQ 0 AND GNM1LOOP EQ 1) &ERR(1,,1,'NM109 Required but missing')
&IF(GREFA02 EQ 0 AND GGREFA EQ 1) &ERR(1,,1,'REF02 Required but missing')
&IF(GREFB02 EQ 0 AND GGREFB EQ 1) &ERR(1,,1,'REF02 Required but missing')
&IF(GREFC02 EQ 0 AND GGREFC EQ 1) &ERR(1,,1,'REF02 Required but missing')
&IF(GREFD02 EQ 0 AND GGREFD EQ 1) &ERR(1,,1,'REF02 Required but missing')
&IF(GHL23TRN EQ 0 AND GHL23CK EQ 1) &ERR(1,,1,'TRN Segment required but missing')
&IF(GHL23STC EQ 0 AND GHL23CK EQ 1) &ERR(1,,1,'STC Segment required but missing')
&IF(GHL23REF EQ 0 AND GHL23CK EQ 1) &ERR(1,,1,'REF Segment required but missing')

278 Health Care Claim Services Request for Review (Receive)

&IFNOVAR &SET GVALMAP 0
&IF(GVALMAP EQ 0) &SET GVALCHAINMAP278A <application sender ID to return to this translation map>
&IF(GVALMAP EQ 0) &SET DIMAPSWITCH VALMAP278A
&IF(GVALMAP EQ 1) &SET GVALMAP 0
&IF(GUM02 EQ 0) &ERR(1,,1,'UM02 Required but missing')
&IF(GUM09 EQ 0 AND UM EQ 1) &ERR(1,,1,'UM09 Required but missing')
&IF(GREF02 EQ 0 AND GREF EQ 1) &ERR(1,,1,'REF02 Required but missing')
&IF(GCR103 EQ 0 AND GCR1 EQ 1) &ERR(1,,1,'CR103 Required but missing')
&IF(GCR104 EQ 0 AND GCR1 EQ 1) &ERR(1,,1,'CR104 Required but missing')
&IF(GCR212 EQ 0 AND GCR2 EQ 1) &ERR(1,,1,'CR212 Required but missing')
&IF(GCR506 EQ 0 AND GCR5 EQ 1) &ERR(1,,1,'CR506 Required but missing')
&IF(GCR512 EQ 0 AND GCR5 EQ 1) &ERR(1,,1,'CR512 Required but missing')
&IF(GCR517 EQ 0 AND GCR5 EQ 1) &ERR(1,,1,'CR217 Required but missing')

278 Health Care Claim Services Review Response (Receive)

&IFNOVAR &SET GVALMAP 0
&IF(GVALMAP EQ 0) &SET GVALCHAINMAP278B <application sender ID to return to this translation map>
&IF(GVALMAP EQ 0) &SET DIMAPSWITCH VALMAP278B
&IF(GVALMAP EQ 1) &SET GVALMAP 0
&IF(GUM02 EQ 0) &ERR(1,,1,'UM02 Required but missing')
&IF(GUM042 EQ 0 AND UM04 EQ 1) &ERR(1,,1,'UM04-2 Required but missing')
&IF(GREF02 EQ 0 AND GREF EQ 1) &ERR(1,,1,'REF02 Required but missing')
&IF(GCR103 EQ 0 AND GCR1 EQ 1) &ERR(1,,1,'CR103 Required but missing')
&IF(GCR506 EQ 0 AND GCR5 EQ 1) &ERR(1,,1,'CR506 Required but missing')
&IF(GCR517 EQ 0 AND GCR5 EQ 1) &ERR(1,,1,'CR517 Required but missing')

820 Payroll Deducted and Other Group Premium Payment for Insurance Products (Receive)

&IFNOVAR &SET GVALMAP 0
&IF(GVALMAP EQ 0) &SET GVALCHAINMAP820 <application sender ID to return to this translation map>
&IF(GVALMAP EQ 0) &SET DIMAPSWITCH VALMAP820
&IF(GVALMAP EQ 1) &SET GVALMAP 0
&IF(GREF02 EQ 0 AND GREF EQ 1) &ERR(1,,1,'REF02 Required but missing')
&IF(GDTM009 EQ 1 AND GDTM00902 EQ 0)&ERR(1,,1,'DTM02 Required but missing')
&IF(GDTM035 EQ 1 AND GDTM03502 EQ 0)&ERR(1,,1,'DTM02 Required but missing')
&IF(GDTM582 EQ 1 AND GDTM58202 EQ 0)&ERR(1,,1,'DTM02 Required but missing')
&IF(GDTM582 EQ 1 AND GDTM58205 EQ 0)&ERR(1,,1,'DTM05 Required but missing')
&IF(GDTM582 EQ 1 AND GDTM58206 EQ 0)&ERR(1,,1,'DTM06 Required but missing')
&IF(GPEN4 EQ 1 AND GPEN401 EQ 0)&ERR(1,,1,'N401 Required but missing')
&IF(GPEN4 EQ 1 AND GPEN402 EQ 0)&ERR(1,,1,'N402 Required but missing')
&IF(GPEN4 EQ 1 AND GPEN403 EQ 0)&ERR(1,,1,'N403 Required but missing')
&IF(GPRN4 EQ 1 AND GPRN401 EQ 0)&ERR(1,,1,'N401 Required but missing')
&IF(GPRN4 EQ 1 AND GPRN402 EQ 0)&ERR(1,,1,'N402 Required but missing')
&IF(GPRN4 EQ 1 AND GPRN403 EQ 0)&ERR(1,,1,'N403 Required but missing')
&IF(GPER EQ 1 AND GPER02 EQ 0) &ERR(1,,1,'PER02 Required but missing')
&IF(GENT EQ 1 AND GENT01 EQ 0) &ERR(1,,1,'ENT01 Required but missing')
&IF(GENT EQ 1 AND GENT02 EQ 0) &ERR(1,,1,'ENT02 Required but missing')
&IF(GENT EQ 1 AND GRMR EQ 0)&ERR(1,,1,'RMR Segment required but missing')
&IF(GRMR EQ 1 AND GRMR01 EQ 0)&ERR(1,,1,'RMR01 Required but missing')
&IF(GRMR EQ 1 AND GRMR02 EQ 0)&ERR(1,,1,'RMR02 Required but missing')
&IF(GRMR EQ 1 AND GRMR04 EQ 0)&ERR(1,,1,'RMR04 Required but missing')
&IF(GIT1 EQ 1 AND GIT101 EQ 0)&ERR(1,,1,'IT101 Required but missing')
&IF(GSLN EQ 1 AND GSLN04 EQ 0)&ERR(1,,1,'SLN04 Required but missing')
&IF(GSLN EQ 1 AND GSLN05 EQ 0)&ERR(1,,1,'SLN05 Required but missing')
&IF(GENTI EQ 1 AND GENTI01 EQ 0) &ERR(1,,1,'ENT01 Required but missing')
&IF(GENTI EQ 1 AND GENTI02 EQ 0) &ERR(1,,1,'ENT02 Required but missing')
&IF(GENTI EQ 1 AND GENTI03 EQ 0) &ERR(1,,1,'ENT03 Required but missing')
&IF(GENTI EQ 1 AND GENTI04 EQ 0) &ERR(1,,1,'ENT04 Required but missing')
&IF(GRMRI EQ 1 AND GRMRI01 EQ 0)&ERR(1,,1,'RMR01 Required but missing')
&IF(GRMRI EQ 1 AND GRMRI02 EQ 0)&ERR(1,,1,'RMR02 Required but missing')
&IF(GRMRI EQ 1 AND GRMRI04 EQ 0)&ERR(1,,1,'RMR04 Required but missing')
&IF(GDTMI EQ 1 AND GDTMI05 EQ 0) &ERR(1,,1,'DTM05 Required but missing')
&IF(GDTMI EQ 1 AND GDTMI06 EQ 0) &ERR(1,,1,'DTM06 Required but missing')


834 Benefit Enrollment and Maintenance (Receive)

&IFNOVAR &SET GVALMAP 0
&IF(GVALMAP EQ 0) &SET GVALCHAINMAP834 <application sender ID to return to this translation map>
&IF(GVALMAP EQ 0) &SET DIMAPSWITCH VALMAP834
&IF(GVALMAP EQ 1) &SET GVALMAP 0
&IF (GNM103 EQ 0) &ERR(1,,1,'NM103 Required but missing')
&IF (GNM104 EQ 0) &ERR(1,,1,'NM104 Required but missing')
&IF (GNM1PER EQ 1 AND GNM1PER03 EQ 0)&ERR(1,,1,'PER03 Required but missing')
&IF (GNM1PER EQ 1 AND GNM1PER04 EQ 0)&ERR(1,,1,'PER04 Required but missing')
&IF (GN4 EQ 1 AND GN401 EQ 0) &ERR(1,,1,'N401 Required but missing')
&IF (GN4 EQ 1 AND GN402 EQ 0) &ERR(1,,1,'N402 Required but missing')
&IF (GN4 EQ 1 AND GN403 EQ 0) &ERR(1,,1,'N403 Required but missing')
&IF (GDMG EQ 1 AND GDMG01 EQ 0) &ERR(1,,1,'DMG01 Required but missing')
&IF (GDMG EQ 1 AND GDMG02 EQ 0) &ERR(1,,1,'DMG02 Required but missing')
&IF (GDMG EQ 1 AND GDMG03 EQ 0) &ERR(1,,1,'DMG03 Required but missing')
&IF (GHD EQ 1 AND GHD03 EQ 0) &ERR(1,,1,'HD03 Required but missing')
&IF (GREF EQ 1 AND GREF02 EQ 0) &ERR(1,,1,'REF02 Required but missing')
&IF (GNM1 EQ 1 AND GNM103 EQ 0)&ERR(1,,1,'NM103 Required but missing')
&IF (GNM1 EQ 1 AND GNM110 EQ 0)&ERR(1,,1,'NM110 Required but missing')
&IF (GCOB EQ 1 AND GCOB03 EQ 0) &ERR(1,,1,'COB03 Required but missing')

834 Benefit Enrollment and Maintenance (Receive)

&IFNOVAR &SET GVALMAP 0
&IF(GVALMAP EQ 0) &SET GVALCHAINMAP835 <application sender ID to return to this translation map>
&IF(GVALMAP EQ 0) &SET DIMAPSWITCH VALMAP837P
&IF(GVALMAP EQ 1) &SET GVALMAP 0
&IF (GN1PE EQ 0) &ERR (1,,1,'N1 Segment required but missing')
&IF (GNM103 EQ 0) &ERR(1,,1,'NM103 Required but missing')
&IF (GNM104 EQ 0) &ERR(1,,1,'NM104 Required but missing')
&IF(GN4 EQ 1 AND GN401 EQ 0) &ERR (1,,1,'N401 Required but missing')
&IF(GN4 EQ 1 AND GN402 EQ 0) &ERR (1,,1,'N402 Required but missing')
&IF(GN4 EQ 1 AND GN403 EQ 0) &ERR (1,,1,'N403 Required but missing')
&IF(GREF EQ 1 AND GREF02 EQ 0) &ERR (1,,1,'REF02 Required but missing')
&IF (GNM108 EQ 0) &ERR(1,,1,'NM108 Requied but missing')
&IF (GNM109 EQ 0) &ERR(1,,1,'NM109 Requied but missing')
&IF (GMIA EQ 1 AND GMOA EQ 1) &ERR (1,,1,'Only one of MIA and MOA may exist')
&IF (GDTM EQ 1 AND GDTM02 EQ 0) &ERR (1,,1,'DTM02 Required but missing')
&IF (GQTY EQ 1 AND GQTY02 EQ 0)&ERR (1,,1,'QTY02 Required but missing')
&IF (GSVC EQ 1 AND GSVC03 EQ 0) &ERR(1,,1,'SVC03 Required but missing')
&IF(GBPR02 NE 0 AND GBPR02 NE GTRANBAL)&ERR(1,,1,'Transaction balancing failed')
&IF(GCLP04 NE 0 AND GCLP04 NE GCLMBAL)&ERR(1,,1,'Claim balancing failed')
&IF(GSVC03 NE 0 AND GSVC03 NE GSVCBAL)&ERR(1,,1,'Service level bal. failed')

834 Benefit Enrollment and Maintenance (Receive)

&IFNOVAR &SET GVALMAP 0
&IF(GVALMAP EQ 0) &SET GVALCHAINMAP837P <application sender ID to return to this translation map>
&IF(GVALMAP EQ 0) &SET DIMAPSWITCH VALMAP837P
&IF(GVALMAP EQ 1) &SET GVALMAP 0
